import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(-x/5) * np.sin(x)

# 创建子图
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
fig.suptitle('Multiple Subplots Example', fontsize=16)

# 第一个子图 - 线图
axes[0, 0].plot(x, y1, color='blue')
axes[0, 0].set_title('Sine Wave')
axes[0, 0].grid(True)

# 第二个子图 - 余弦波
axes[0, 1].plot(x, y2, color='red')
axes[0, 1].set_title('Cosine Wave')
axes[0, 1].grid(True)

# 第三个子图 - 正切波
axes[1, 0].plot(x, y3, color='green')
axes[1, 0].set_title('Tangent Wave')
axes[1, 0].set_ylim(-5, 5)  # 限制y轴范围
axes[1, 0].grid(True)

# 第四个子图 - 阻尼振动
axes[1, 1].plot(x, y4, color='purple')
axes[1, 1].set_title('Damped Sine Wave')
axes[1, 1].grid(True)

# 调整布局
plt.tight_layout()

# 显示图表
plt.show()